package br.com.pizzaria.controller;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.pizzaria.model.Pedido;

@SuppressWarnings({"unchecked","rawtypes"})
@ManagedBean(name="beanPedido")
@SessionScoped
public class PedidoBean implements IMetodos{
	
		Pedido pedido = null;
		
		public PedidoBean(){
			pedido = new Pedido(); 
		}
		
		public Pedido getPedido() {
			return pedido;
		}

		public void setPedido(Pedido pedido) {
			this.pedido = pedido;
		}		

		@Override
		public boolean inserir() {
			DaoHelper dao = new DaoHelper(pedido);			
			return dao.inserir();
		}

		@Override
		public boolean alterar() {
			DaoHelper dao = new DaoHelper(pedido);			
			return dao.alterar();
		}

		@Override
		public boolean excluir() {
			DaoHelper dao = new DaoHelper(pedido);			
			return dao.excluir();
		}
		
		@Override
		public List<Pedido> getListar() {
				
			DaoHelper dao = new DaoHelper(pedido);
			
			List<Pedido> lista = new ArrayList<Pedido>();
			List<Pedido> listaRetorno = new ArrayList<Pedido>();
			
			lista = dao.getListar();
			
			for (Pedido ped : lista) {
				Pedido nLista = new Pedido();
			   		nLista.setCodigo(ped.getCodigo());
					nLista.setUsuario(ped.getUsuario());									
					nLista.setNum_mesa(ped.getNum_mesa());
					nLista.setPagamento(ped.getPagamento());
					nLista.setValor_entrada(ped.getValor_entrada());
					nLista.setPed_desconto(ped.getPed_desconto());
					nLista.setTroco(ped.getTroco());
					nLista.setValor_total(ped.getValor_total());
					nLista.setRecebeu_comissao(ped.isRecebeu_comissao());
					nLista.setDtcad(ped.getDtcad());
					listaRetorno.add(nLista);
				}
			return listaRetorno;
		}
}
